package chamados;


import com.example.taketaxi.conexaoBanco.BaseDadosContract.ChamadoEntry;
import com.example.taketaxi.conexaoBanco.BaseDadosContract.PessoasEntry;

import android.content.ContentUris;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;

public class DAOChamado {
	public Context context;

	public DAOChamado(Context context) {
		this.context = context;
	}

	
	public long inserirChamando(Chamado chamado){
		ContentValues values = new ContentValues();

		values.put(ChamadoEntry.IDCLIENTE, chamado.getIdCliente());
		values.put(ChamadoEntry.IDTAXISTA, chamado.getIdTaxista());
		values.put(ChamadoEntry.STATUS, chamado.getStatus());

		return ContentUris.parseId(context.getContentResolver().insert(
				ChamadoEntry.URI, values));
	}
	
	public void cancelarChamado(Chamado chamado){
		ContentValues values = new ContentValues();

		values.put(ChamadoEntry.IDCLIENTE, chamado.getIdCliente());
		values.put(ChamadoEntry.IDTAXISTA, chamado.getIdTaxista());
		values.put(ChamadoEntry.STATUS, chamado.getStatus());
		
		context.getContentResolver().update(ChamadoEntry.URI, values, ChamadoEntry._ID + " = " + chamado.getId(), null);
	}
	
	public void atenderChamado(Chamado chamado){
		ContentValues values = new ContentValues();

		values.put(ChamadoEntry.IDCLIENTE, chamado.getIdCliente());
		values.put(ChamadoEntry.IDTAXISTA, chamado.getIdTaxista());
		values.put(ChamadoEntry.STATUS, chamado.getStatus());
		
		context.getContentResolver().update(ChamadoEntry.URI, values, ChamadoEntry._ID + " = " + chamado.getId(), null);
	}
	
	public void recusarChamado(Chamado chamado){
		ContentValues values = new ContentValues();

		values.put(ChamadoEntry.IDCLIENTE, chamado.getIdCliente());
		values.put(ChamadoEntry.IDTAXISTA, chamado.getIdTaxista());
		values.put(ChamadoEntry.STATUS, chamado.getStatus());
		
		context.getContentResolver().update(ChamadoEntry.URI, values, ChamadoEntry._ID + " = " + chamado.getId(), null);
	}
	
	public Chamado getChamado(Chamado chamado){
		Cursor cursor = context.getContentResolver().query(ChamadoEntry.URI,
				null, ChamadoEntry.IDCLIENTE + " = " + chamado.getIdCliente() +" AND " + ChamadoEntry.IDTAXISTA + " = " + chamado.getIdTaxista()
				+ " AND " + ChamadoEntry.STATUS + " = 'Aguardando' OR " + ChamadoEntry.STATUS + " = 'Atendendo'", null, null);

		if (cursor.moveToFirst()) {
			Chamado cham = new Chamado();
			cham.setId(cursor.getLong(cursor.getColumnIndex(ChamadoEntry._ID)));
			cham.setIdTaxista(cursor.getLong(cursor.getColumnIndex(ChamadoEntry.IDTAXISTA)));
			cham.setIdCliente(cursor.getLong(cursor.getColumnIndex(ChamadoEntry.IDCLIENTE)));
			cham.setStatus(cursor.getString(cursor.getColumnIndex(ChamadoEntry.STATUS)));
			
			
			//ADICIONAR O RESTANTE DOS CAMPOS
			cursor.close();
			return cham;
		} else {
			cursor.close();
			return null;
		}
	}
}
